package com.itheima.staticmethod;

public class Test4 {
    //静态变量
    public static int count=100;

    //静态方法  只有一份,是共享的,所有人可以直接访问
    public static void printHelloWorld2(){
        System.out.println("HelloWorld");
    }

    //实例变量:属于对象的,只能对象调用
    private String name;

    //实例方法:属于对象的,只能对象调用
    public void run(){
    }

    public static void main(String[] args) {
        //搞清楚静态方法,实例方法访问的几点注意事项
        printHelloWorld();
    }

    //1.静态方法中可以直接访问静态成员,不可以直接访问实例成员,只可间接访问
    public static void printHelloWorld(){
        System.out.println(count);      //原型Test4.count.同类里可以直接省类名
        printHelloWorld2();
        //System.out.println(name);   报错
        Test4 t=new Test4();    //定义对象,间接访问
        //run();  报错
        //System.out.println(this);     //报错.   this代表的只能是对象.   静态方法哪来的对象?
    }

    //2.实例方法中,既可以直接访问静态成员,也可也直接访问实例成员
    //go,name,run都是属于对象的
    public void go(){
        System.out.println(count);
        printHelloWorld2();
        System.out.println(name);
        run();
        //3.实例方法中可以出现this,静态方法中不可出现this关键字
        System.out.println(this);
    }
}
